/**********************************************************************/
/*   ____  ____                                                       */
/*  /   /\/   /                                                       */
/* /___/  \  /                                                        */
/* \   \   \/                                                       */
/*  \   \        Copyright (c) 2003-2009 Xilinx, Inc.                */
/*  /   /          All Right Reserved.                                 */
/* /---/   /\                                                         */
/* \   \  /  \                                                      */
/*  \___\/\___\                                                    */
/***********************************************************************/

/* This file is designed for use with ISim build 0x7708f090 */

#define XSI_HIDE_SYMBOL_SPEC true
#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
static const char *ng0 = "G:/fpga_test/shift_register.vhd";
extern char *IEEE_P_2592010699;

unsigned char ieee_p_2592010699_sub_2507238156_503743352(char *, unsigned char , unsigned char );


static void work_a_1874319323_3212880686_p_0(char *t0)
{
    char t22[16];
    char t23[16];
    char *t1;
    char *t2;
    unsigned char t3;
    unsigned char t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    unsigned char t10;
    unsigned char t11;
    unsigned char t12;
    unsigned char t13;
    unsigned char t14;
    int t15;
    unsigned char t16;
    char *t17;
    char *t18;
    unsigned int t19;
    unsigned int t20;
    unsigned int t21;
    unsigned int t24;
    char *t25;
    int t26;
    int t27;
    unsigned int t28;
    unsigned int t29;
    int t30;
    int t31;
    unsigned int t32;
    unsigned int t33;
    unsigned int t34;
    char *t35;

LAB0:    xsi_set_current_line(50, ng0);
    t1 = (t0 + 1192U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t4 = (t3 == (unsigned char)3);
    if (t4 != 0)
        goto LAB2;

LAB4:    t1 = (t0 + 992U);
    t10 = xsi_signal_has_event(t1);
    if (t10 == 1)
        goto LAB10;

LAB11:    t4 = (unsigned char)0;

LAB12:    if (t4 == 1)
        goto LAB7;

LAB8:    t3 = (unsigned char)0;

LAB9:    if (t3 != 0)
        goto LAB5;

LAB6:
LAB3:    t1 = (t0 + 4200);
    *((int *)t1) = 1;

LAB1:    return;
LAB2:    xsi_set_current_line(51, ng0);
    t1 = (t0 + 1512U);
    t5 = *((char **)t1);
    t1 = (t0 + 4296);
    t6 = (t1 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    memcpy(t9, t5, 32U);
    xsi_driver_first_trans_fast(t1);
    xsi_set_current_line(52, ng0);
    t1 = xsi_get_transient_memory(4U);
    memset(t1, 0, 4U);
    t2 = t1;
    memset(t2, (unsigned char)2, 4U);
    t5 = (t0 + 4360);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    memcpy(t9, t1, 4U);
    xsi_driver_first_trans_fast(t5);
    xsi_set_current_line(53, ng0);
    t1 = (t0 + 4424);
    t2 = (t1 + 56U);
    t5 = *((char **)t2);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    *((int *)t7) = 0;
    xsi_driver_first_trans_fast(t1);
    xsi_set_current_line(54, ng0);
    t1 = (t0 + 4488);
    t2 = (t1 + 56U);
    t5 = *((char **)t2);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    *((int *)t7) = 3;
    xsi_driver_first_trans_fast(t1);
    goto LAB3;

LAB5:    xsi_set_current_line(56, ng0);
    t2 = (t0 + 2312U);
    t7 = *((char **)t2);
    t15 = *((int *)t7);
    t16 = (t15 == 36);
    if (t16 != 0)
        goto LAB13;

LAB15:    t1 = (t0 + 2312U);
    t2 = *((char **)t1);
    t15 = *((int *)t2);
    t3 = (t15 < 32);
    if (t3 != 0)
        goto LAB18;

LAB19:    t1 = (t0 + 2312U);
    t2 = *((char **)t1);
    t15 = *((int *)t2);
    t3 = (t15 < 36);
    if (t3 != 0)
        goto LAB25;

LAB26:
LAB14:    goto LAB3;

LAB7:    t2 = (t0 + 1352U);
    t6 = *((char **)t2);
    t13 = *((unsigned char *)t6);
    t14 = (t13 == (unsigned char)3);
    t3 = t14;
    goto LAB9;

LAB10:    t2 = (t0 + 1032U);
    t5 = *((char **)t2);
    t11 = *((unsigned char *)t5);
    t12 = (t11 == (unsigned char)3);
    t4 = t12;
    goto LAB12;

LAB13:    xsi_set_current_line(57, ng0);
    t2 = (t0 + 4424);
    t8 = (t2 + 56U);
    t9 = *((char **)t8);
    t17 = (t9 + 56U);
    t18 = *((char **)t17);
    *((int *)t18) = 0;
    xsi_driver_first_trans_fast(t2);
    xsi_set_current_line(58, ng0);
    t1 = (t0 + 1992U);
    t2 = *((char **)t1);
    t15 = (31 - 31);
    t19 = (t15 * -1);
    t20 = (1U * t19);
    t21 = (0 + t20);
    t1 = (t2 + t21);
    t3 = *((unsigned char *)t1);
    t5 = (t0 + 4552);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    *((unsigned char *)t9) = t3;
    xsi_driver_first_trans_fast(t5);
    xsi_set_current_line(59, ng0);
    t1 = (t0 + 1992U);
    t2 = *((char **)t1);
    t19 = (31 - 30);
    t20 = (t19 * 1U);
    t21 = (0 + t20);
    t1 = (t2 + t21);
    t6 = ((IEEE_P_2592010699) + 4024);
    t7 = (t23 + 0U);
    t8 = (t7 + 0U);
    *((int *)t8) = 30;
    t8 = (t7 + 4U);
    *((int *)t8) = 0;
    t8 = (t7 + 8U);
    *((int *)t8) = -1;
    t15 = (0 - 30);
    t24 = (t15 * -1);
    t24 = (t24 + 1);
    t8 = (t7 + 12U);
    *((unsigned int *)t8) = t24;
    t5 = xsi_base_array_concat(t5, t22, t6, (char)97, t1, t23, (char)99, (unsigned char)2, (char)101);
    t24 = (31U + 1U);
    t3 = (32U != t24);
    if (t3 == 1)
        goto LAB16;

LAB17:    t8 = (t0 + 4296);
    t9 = (t8 + 56U);
    t17 = *((char **)t9);
    t18 = (t17 + 56U);
    t25 = *((char **)t18);
    memcpy(t25, t5, 32U);
    xsi_driver_first_trans_fast(t8);
    goto LAB14;

LAB16:    xsi_size_not_matching(32U, t24, 0);
    goto LAB17;

LAB18:    xsi_set_current_line(61, ng0);
    t1 = (t0 + 2312U);
    t5 = *((char **)t1);
    t26 = *((int *)t5);
    t27 = (t26 + 1);
    t1 = (t0 + 4424);
    t6 = (t1 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    *((int *)t9) = t27;
    xsi_driver_first_trans_fast(t1);
    xsi_set_current_line(62, ng0);
    t1 = (t0 + 1992U);
    t2 = *((char **)t1);
    t15 = (31 - 31);
    t19 = (t15 * -1);
    t20 = (1U * t19);
    t21 = (0 + t20);
    t1 = (t2 + t21);
    t3 = *((unsigned char *)t1);
    t5 = (t0 + 4552);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    *((unsigned char *)t9) = t3;
    xsi_driver_first_trans_fast(t5);
    xsi_set_current_line(63, ng0);
    t1 = (t0 + 2152U);
    t2 = *((char **)t1);
    t1 = (t0 + 2472U);
    t5 = *((char **)t1);
    t15 = *((int *)t5);
    t26 = (t15 - 3);
    t19 = (t26 * -1);
    xsi_vhdl_check_range_of_index(3, 0, -1, t15);
    t20 = (1U * t19);
    t21 = (0 + t20);
    t1 = (t2 + t21);
    t3 = *((unsigned char *)t1);
    t6 = (t0 + 1992U);
    t7 = *((char **)t6);
    t27 = (31 - 31);
    t24 = (t27 * -1);
    t28 = (1U * t24);
    t29 = (0 + t28);
    t6 = (t7 + t29);
    t4 = *((unsigned char *)t6);
    t10 = ieee_p_2592010699_sub_2507238156_503743352(IEEE_P_2592010699, t3, t4);
    t8 = (t0 + 2472U);
    t9 = *((char **)t8);
    t30 = *((int *)t9);
    t31 = (t30 - 3);
    t32 = (t31 * -1);
    t33 = (1 * t32);
    t34 = (0U + t33);
    t8 = (t0 + 4360);
    t17 = (t8 + 56U);
    t18 = *((char **)t17);
    t25 = (t18 + 56U);
    t35 = *((char **)t25);
    *((unsigned char *)t35) = t10;
    xsi_driver_first_trans_delta(t8, t34, 1, 0LL);
    xsi_set_current_line(64, ng0);
    t1 = (t0 + 1992U);
    t2 = *((char **)t1);
    t19 = (31 - 30);
    t20 = (t19 * 1U);
    t21 = (0 + t20);
    t1 = (t2 + t21);
    t6 = ((IEEE_P_2592010699) + 4024);
    t7 = (t23 + 0U);
    t8 = (t7 + 0U);
    *((int *)t8) = 30;
    t8 = (t7 + 4U);
    *((int *)t8) = 0;
    t8 = (t7 + 8U);
    *((int *)t8) = -1;
    t15 = (0 - 30);
    t24 = (t15 * -1);
    t24 = (t24 + 1);
    t8 = (t7 + 12U);
    *((unsigned int *)t8) = t24;
    t5 = xsi_base_array_concat(t5, t22, t6, (char)97, t1, t23, (char)99, (unsigned char)2, (char)101);
    t24 = (31U + 1U);
    t3 = (32U != t24);
    if (t3 == 1)
        goto LAB20;

LAB21:    t8 = (t0 + 4296);
    t9 = (t8 + 56U);
    t17 = *((char **)t9);
    t18 = (t17 + 56U);
    t25 = *((char **)t18);
    memcpy(t25, t5, 32U);
    xsi_driver_first_trans_fast(t8);
    xsi_set_current_line(65, ng0);
    t1 = (t0 + 2472U);
    t2 = *((char **)t1);
    t15 = *((int *)t2);
    t3 = (t15 == 0);
    if (t3 != 0)
        goto LAB22;

LAB24:    xsi_set_current_line(68, ng0);
    t1 = (t0 + 2472U);
    t2 = *((char **)t1);
    t15 = *((int *)t2);
    t26 = (t15 - 1);
    t1 = (t0 + 4488);
    t5 = (t1 + 56U);
    t6 = *((char **)t5);
    t7 = (t6 + 56U);
    t8 = *((char **)t7);
    *((int *)t8) = t26;
    xsi_driver_first_trans_fast(t1);

LAB23:    goto LAB14;

LAB20:    xsi_size_not_matching(32U, t24, 0);
    goto LAB21;

LAB22:    xsi_set_current_line(66, ng0);
    t1 = (t0 + 4488);
    t5 = (t1 + 56U);
    t6 = *((char **)t5);
    t7 = (t6 + 56U);
    t8 = *((char **)t7);
    *((int *)t8) = 3;
    xsi_driver_first_trans_fast(t1);
    goto LAB23;

LAB25:    xsi_set_current_line(71, ng0);
    t1 = (t0 + 2312U);
    t5 = *((char **)t1);
    t26 = *((int *)t5);
    t27 = (t26 + 1);
    t1 = (t0 + 4424);
    t6 = (t1 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    *((int *)t9) = t27;
    xsi_driver_first_trans_fast(t1);
    xsi_set_current_line(72, ng0);
    t1 = (t0 + 2152U);
    t2 = *((char **)t1);
    t15 = (3 - 3);
    t19 = (t15 * -1);
    t20 = (1U * t19);
    t21 = (0 + t20);
    t1 = (t2 + t21);
    t3 = *((unsigned char *)t1);
    t5 = (t0 + 4552);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    *((unsigned char *)t9) = t3;
    xsi_driver_first_trans_fast(t5);
    xsi_set_current_line(73, ng0);
    t1 = (t0 + 2152U);
    t2 = *((char **)t1);
    t19 = (3 - 2);
    t20 = (t19 * 1U);
    t21 = (0 + t20);
    t1 = (t2 + t21);
    t6 = ((IEEE_P_2592010699) + 4024);
    t7 = (t23 + 0U);
    t8 = (t7 + 0U);
    *((int *)t8) = 2;
    t8 = (t7 + 4U);
    *((int *)t8) = 0;
    t8 = (t7 + 8U);
    *((int *)t8) = -1;
    t15 = (0 - 2);
    t24 = (t15 * -1);
    t24 = (t24 + 1);
    t8 = (t7 + 12U);
    *((unsigned int *)t8) = t24;
    t5 = xsi_base_array_concat(t5, t22, t6, (char)97, t1, t23, (char)99, (unsigned char)2, (char)101);
    t24 = (3U + 1U);
    t3 = (4U != t24);
    if (t3 == 1)
        goto LAB27;

LAB28:    t8 = (t0 + 4360);
    t9 = (t8 + 56U);
    t17 = *((char **)t9);
    t18 = (t17 + 56U);
    t25 = *((char **)t18);
    memcpy(t25, t5, 4U);
    xsi_driver_first_trans_fast(t8);
    goto LAB14;

LAB27:    xsi_size_not_matching(4U, t24, 0);
    goto LAB28;

}

static void work_a_1874319323_3212880686_p_1(char *t0)
{
    char *t1;
    char *t2;
    unsigned char t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;

LAB0:    xsi_set_current_line(78, ng0);

LAB3:    t1 = (t0 + 1832U);
    t2 = *((char **)t1);
    t3 = *((unsigned char *)t2);
    t1 = (t0 + 4616);
    t4 = (t1 + 56U);
    t5 = *((char **)t4);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    *((unsigned char *)t7) = t3;
    xsi_driver_first_trans_fast_port(t1);

LAB2:    t8 = (t0 + 4216);
    *((int *)t8) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}


extern void work_a_1874319323_3212880686_init()
{
	static char *pe[] = {(void *)work_a_1874319323_3212880686_p_0,(void *)work_a_1874319323_3212880686_p_1};
	xsi_register_didat("work_a_1874319323_3212880686", "isim/frequence_counter_isim_beh.exe.sim/work/a_1874319323_3212880686.didat");
	xsi_register_executes(pe);
}
